Skip to content

runner: a Transfer Pak on every seat (--tpak1-rom .. --tpak4-rom) - #4

Merged
TechnicallyComputers merged 1 commit into
mainfrom
feat/tpak-all-seats
Sep 27, 2026
Merged

TechnicallyComputers merged 1 commit into
mainfrom
feat/tpak-all-seats

Conversation

@TechnicallyComputers

Copy link
Copy Markdown
Member

The runner bound a Transfer Pak on seat 0 only. The ABI already carries a seat per accessory binding, and n64lle's core accepts n64.transfer_pak on seats 0-3 (declaring tpakN / tpakN.rtc).

  • runner: --tpakN-rom / -save / -rtc for N = 1-4, headless and link mode; one binding per seat with a cartridge.
  • --version: reports transfer_pak_seats 4; probe_runner reads it (1 when absent: an older runner takes seat 1 only).
  • corelink: LaunchSpec::tpak_roms[4] replaces tpak_rom; the link test takes --tpakN-*.
  • docs: CORE_RUNNER, CORE_LINK, RELEASES, OVERLAY.

Retro-Launcher main already depends on this (RunnerVersion::transfer_pak_seats); its Release workflow fails on all three platforms until its submodule is pinned here (Retro-Launcher PR follows).

Checked: 60 headless frames of Pokemon Stadium with Red in seat 2 and Gold in seat 4 (tpak2, tpak4, tpak4.rtc declared and written); 60 frames through the link with Blue in seat 3 (saved by the host); ctest 18/18.

🤖 Generated with Claude Code

The runner bound a Transfer Pak on seat 0 only. The ABI already carries a
seat per accessory binding, and n64lle's core accepts n64.transfer_pak on
seats 0-3, declaring tpakN / tpakN.rtc for each.

- runner: --tpakN-rom / -save / -rtc for N = 1-4, in headless and link
  mode, one n64.transfer_pak binding per seat with a cartridge
  (transfer_pak_bindings); save files tpakN, tpakN.rtc.
- --version reports transfer_pak_seats 4; probe_runner reads it (1 when
  absent: a runner from before takes seat 1 only).
- corelink: LaunchSpec::tpak_roms[4] replaces tpak_rom; the link test takes
  --tpakN-*.
- docs: CORE_RUNNER, CORE_LINK, RELEASES; OVERLAY/CORE_LINK note the hub's
  rebindable shortcuts (Function combos, L3 + R3, no Guide).

Checked: 60 headless frames of Pokemon Stadium with Red in seat 2 and
Gold in seat 4 (tpak2, tpak4, tpak4.rtc declared and written), and 60
frames through the link with Blue in seat 3 (saved by the host); ctest 18/18.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@TechnicallyComputers
TechnicallyComputers merged commit e9ca109 into main Sep 27, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant